<!DOCTYPE html>
<html lang="en" ng-app="zsc">
<head>
	<meta charset="UTF-8">
	<title>angularjs</title>
</head>
<body>
	<!-- <a href="###">蓝鸥科技</a>	 -->
	<!-- 1.第一种方式 -->
	<!-- <zx></zx> -->
	<!-- 第二种方式 -->
	<!-- <div zx></div> -->
	<!-- 第三种方式  当使用class名的时候，，，必须配置71行这种信息，才能配合使用-->
	<!-- <div class="zx"></div> -->
	<!-- 第四种方式作为注释使用 格式只能是下面这种情况要有directivee-->
	<!-- directive:zx -->



	<!-- 标签里面嵌套内容 ：里面的内容是不会出现的-->
	<zx>血债血偿</zx>



</body>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript">
	// 1.指令  系统内置指令，，，，自定义指令
	//2.过滤器 系统过滤器......自定义过滤器
	//3.代码依赖注入  
	//4.路由操作
	//5.数据绑定



	//1.指令  （directive） 其实就是angularjs定义的一系列操作
	//指令分为系统指令和自定义指令
	/*  驼峰命名法（定义的时候都是这样定义的）
	使用的时候：采用np-...    分隔单词比如ngApp  用的时候就是ng-app
		指令1.ng-app，，，是指令系统里面最重要的一个指令，，，他定义了文件哪个区域可以使用angularjs

		一个项目只能出现一次ng-app  原因在于，angularjs定位于做单应用
		指令2：ng-model  用来实现数据绑定   主要用于input标签
		标签本质：定义一个变量来保存input内容，只要内容发生变化，变量就会实时发生变化

	自定义指令：
	前提：ng-app不能为空  
	获取app模块
	

	全局对象：
	html里面的window   angularjs里面有个全局对象  angular
	

	全局函数（属性）：
	全局对象的方法就是全局函数
	*/
	//两个参数：1.模块的名字 2.数组（数组里面装载的是字符串 这个字符串就是新模块需要的本来就已经封装好的模块的名字，，，没有就是空数组[]  这个方法就叫做依赖代码注入）
	//这个方法的功能：如果不存在参数1说明的模块，则创建一个新的模块
					// 如果存在，则获取这个模块
	var app = angular.module("zsc",[]);
	//自定义指令：需要两个参数1.指令的名字，2.指令的内容
	//实现功能的时候填写的下面的这个名字
	app.directive("zx",function(){
		return {
			//<ng-transclude></ng-transclude> 这个标签表示我前面添加的内容会出现在此位置上，，，这个标签变换位置，也会转换位置
			// template:"<ul><ng-transclude></ng-transclude><li>zsc</li><li>zx</li><li>zx</li></ul>",
			// 这个是为了打开一个功能：可以使用class实现此功能
			// EAC表示可以使用class了，，，加上M 表示要配置注释是用权限了
			
			//这个文件里面只能有节点，，，不能有其他任何东西，，，包括注释
			templateUrl:"template1.html",
			restrict:"EACM",
			//可以在注释行使用
			// replace:true,
			//这个指令表示可以在自定义标签里面添加内容，并显示在浏览器上，，，需要别的配合
			transclude:true
		}
	});
</script>
</html>